/*
 * Mediastream.h
 *
 *  Created on: 2011-9-27
 *      Author: stargui
 */

#ifndef MEDIASTREAM_H_
#define MEDIASTREAM_H_
namespace PROTOCOL
{
#define MODULE_MEDIASTREAM			"MEDIASTREAMMODEL"
#define MEDIASTREAM_PT					"PT"
#define MEDIASTREAM_SSRC				"SSRC"
#define MEDIASTREAM_CSRC				"CSRC"
#define MEDIASTREAM_STREAMNAME			"STREAMNAME"
#define MEDIASTREAM_TASKTYPE			"STUN"
#define MEDIASTREAM_RETURN				"RETURN"
#define MEDIASTREAM_DESTADDR		"DESTADDR"
#define MEDIASTREAM_STATISTICS			"STATISTICS"

//实施视频申请指令集
#define MEDIASTREAM_REQUEST		"REQUESTALIVEVIDEO"
#define MEDIASTREAM_DESTADDR			"DESTADDR"
#define MEDIASTREAM_STREAMTYPE        "STREAMTYPE" /*0：子码流，1：主码流，2：手机码流*/
#define MEDIASTREAM_DESSTREAM				"DESSTREAM"  /*0：子码流，1：主码流，2：手机码流*/
#define MEDIASTREAM_CHANNEL				"CHANNEL"/*bit位表示，bit0-bit31表示通道1至通道32，bit为1时有效*/
#define MEDIASTREAM_AUDIO				"AUDIOVALID"	/*(bit位表示，bit0-bit31表示通道1-通道32,bit位1时有效，否则无效)与channel对应的通道号一一对应，切必须channel对应的通道号也有效*/
#define MEDIASTREAM_IPANDPORT			"IPANDPORT" /*媒体的ip与port*/

//实时视频控制指令集
#define MEDIASTREAM_CONTROLSTREAM	"CONTROLSTREAM"
#define MEDIASTREAM_CMD					"CMD"		/*0:停止，1：恢复,2:暂停,3：切换码流*/
#define MEDIASTREAM_DESSTREAM				"DESSTREAM"	//切换码流的目的码流

//视频文件下载
#define MEDIADOWNLOAD_REQUEST			"REQUESTDOWNLOADVIDEO"
#define MEDIASTREAM_STARTTIME					"STARTTIME"	//起始时间 年月日时分秒:20110928090909
#define MEDIASTREAM_ENDTIME                  "ENDTIME"		//终止时间
#define MEDIASTREAM_OFFSETFLAG					"OFFSETFLAG"	//相对偏移量标识0:完整时间段，1：时间段内时间偏移,2:大小偏移，3：时间偏移(秒)附带当前最近一个I帧
#define MEDIASTREAM_OFFSET						"OFFSET"		//offsetflag为1时时间偏移秒，为2时偏移了多少字节 3:表示偏移时间量
#define MEDIASTREAM_RECORDID					"RECORDID"	//每个时间段文件的唯一标识符
#define MEDIASTREAM_OFFSETI                  "OFFSETI"		//当前最近一个I帧偏移量

//下载视频控制指令集
#define MEDIASTREAM_CONTROLDOWNVIDEO	"CONTROLDOWNLOADVIDEO"
#define MEDIASTREAM_FILESIZE					"FILESIZE"		//文件总长
#define MEDIASTREAM_LEFTFILESIZE				"LEFTFILESIZE"		//文件剩余长度
#define MEDIASTREAM_FILETYPE					"FILETYPE"


//申请下载扩展性文件
#define MEDIADOWNEXPAND_REQUEST         "REQUESTDOWNLOADEXPAND" //申请下载扩展性文件
#define MEDIASTREAM_EXPANDFILENAME             "FILENAME"	//文件名字
#define MEDIASTREAM_EXPANDFILETYPE             "EXPANDTYPE" // 扩展文件类型

#define MEDIASTREAM_CONTROLDOWNEXPAND   "CONTROLDOWNLOADEXPAND"	//下载扩展性文件


//远程同步回放
#define MEDIAREMOTEPLAYBACK_REQUEST     "REQUESTREMOTEPLAYBACK"	//远程同步回放申请

#define MEDIA_CONTROLREMOTEPLAYBACK     "CONTROLREMOTEPLAYBACK"//远程同步回放控制指令
#define MEDIASTREAM_PALYBACKCMD                "PALYBACKCMD"				//远程同步回放具体指令集
#define MEDIASTREAM_SRCCHANNEL                 "SRCCHANNEL"				//远程同步回放当前回放通道
#define MEDIASTREAM_DESCHANNEL                 "DESCHANNEL"				//远程同步回放最终通道号,需要与当前的通道号对比
#define MEDIASTREAM_VIDEOTYPE						"VIDEOTYPE"				//文件类型


#define MEDIA_REMOTECHANNELSTATUS       "REMOTECHANNELSTATUS"	//远程同步回放通道数据状态指令
//是哪些通道有数据流的状态，bit位表示，bit0-bit31表示通道1-通道32，为1时表示有数据，为0时表示此通道此时无数据，便于pc做解混编同步。此此段与CHANNEL要一一对应。
#define MEDIACHANNELMASK                "CHANNELMASK"				//远程同步回放通道状态掩码

#define MEDIA_REMOTEPLAYBACKSTART		"REMOTEPLAYBACKSTART"	//媒体链路数据会话开始通知(发向媒体链路)
#define MEDIA_REMOTEPLAYBACKSTOP		"REMOTEPLAYBACKSTOP"		//媒体链路数据会话结束通知(发向媒体链路)
#define MEDIA_REST						"REST"						//该字段表示当前任务的状态


//对讲
#define MEDIATTALK_REQUES					"REQUESTTALK"			//申请对讲指令

#define MEDIASTREAM_SOUNDMODE				"SOUNDMODE"			//0：mono(单声道) 1: stereo(立体声)
#define MEDIASTREAM_CHANNELTOTAL			"CHANNELTOTAL"		//声道数目
#define MEDIASTREAM_SAMPLINGRATE			"SAMPLINGRATE"		//采样率 实际采样率(正整数)
#define MEDIASTREAM_SAMPLINGFIGURE		"SAMPLINGFIGURE"		//采样位数0: 8位 1: 16位 2: 32位
#define MEDIASTREAM_AUDIOFORMAT			"AUDIOFORMAT"			//编码格式
#define MEDIASTREAM_AUDIOSOURCE			"AUDIOSOURCE"			//1：Camera:  摄像头拾音器 2：MicroPhone: 麦克风
#define MEDIASTREAM_AUDIOFRAMELEN			"AUDIOFRAMELEN"		//音频帧长


#define MEDIA_CONTROLTALK			"CONTROLTALK"					//对讲控制指令


//升级
#define MEDIASTREAM_REQUESTUPGRADE			"REQUESTUPGRADE"	//升级申请指令


//日志下载
#define MEDIASTREAM_REQUESTLOG				"REQUESTLOG"//申请日志指令

#define MEDIASTREAM_LOGTYPE					"LOGTYPE"		//日志类型
#define MEDIASTREAM_ALARMTYPE				"ALARMTYPE"	//报警日志细分类型
#define MEDIASTREAM_ALARMID					"ALARMID"		//额外的日志参数，可以表示通道号或硬盘逻辑编号
#define MEDIASTREAM_STARTT					"STARTT"		//日志查询开始时间 如果没有则表示从设备日志的起始记录开始
#define MEDIASTREAM_ENDT						"ENDT"			//日志查询结束时间 如果没有则表示截至到当前最晚的日志记录结束
#define MEDIASTREAM_TOTAL					"TOTAL"		//日志查询总的条数

//日志下载控制
#define MEDIASTREAM_CONTROLDOWNLOADLOG		"CONTROLDOWNLOADLOG"
//日志开始上传
#define MEDIASTREAM_DOWNLOGSTART			"DOWNLOGSTART"
//日志上传完毕
#define MEDIASTREAM_DOWNLOGSTOP				"DOWNLOGSTOP"

}



#endif /* MEDIASTREAM_H_ */
